package com.contract.pojo.bo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;


/**
 * 用户表(User)实体类
 *
 * @author liw
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("SYS_USER")
public class SysUser extends BaseEntity implements Serializable {

    private static final long serialVersionUID = -1L;

    @TableId(value = "ID")
    @ApiModelProperty(value = "主键")
    private Long id;

    @ApiModelProperty(value = "用户姓名")
    @TableField(value = "USER_NAME")
    private String userName;

    @ApiModelProperty(value = "性别")
    @TableField(value = "SEX")
    private String sex;

    @ApiModelProperty(value = "民族")
    @TableField(value = "NATION")
    private String nation;

    @ApiModelProperty(value = "卡号")
    @TableField(value = "CARD_NO")
    private String cardNo;

    @ApiModelProperty(value = "正面")
    @TableField(value = "CARD_FACE")
    private Long cardFace;

    @ApiModelProperty(value = "背面")
    @TableField(value = "CARD_BACK")
    private Long cardBack;

    @ApiModelProperty(value = "生日")
    @TableField(value = "BIRTHDAY")
    private LocalDate birthday;

    @ApiModelProperty(value = "地址")
    @TableField(value = "ADDRESS")
    private String address;

    @ApiModelProperty(value = "有效期开始")
    @TableField(value = "CARD_START")
    private LocalDate cardStart;

    @ApiModelProperty(value = "有效期结束")
    @TableField(value = "CARD_END")
    private LocalDate cardEnd;

    @ApiModelProperty(value = "签发机关")
    @TableField(value = "ORGANIZATION")
    private String organization;

    @ApiModelProperty(value = "邮箱")
    @TableField(value = "EMAIL")
    private String email;

    @ApiModelProperty(value = "手机号")
    @TableField(value = "PHONE")
    private String phone;

    @ApiModelProperty(value = "现住址")
    @TableField(value = "CURRENT_ADDRESS")
    private String currentAddress;

    @ApiModelProperty(value = "紧急联系人与本人关系")
    @TableField(value = "CONTACT_RELATION")
    private String contactRelation;

    @ApiModelProperty(value = "紧急联系人姓名")
    @TableField(value = "CONTACT_NAME")
    private String contactName;

    @ApiModelProperty(value = "紧急联系人手机号")
    @TableField(value = "CONTACT_PHONE")
    private String contactPhone;

    @ApiModelProperty(value = "状态")
    @TableField(value = "STATE")
    private String state;


}
